home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 41.zip / BS1 part 41 / TEX files.adf / samples / primes.tex < prev    next >
Text File  |  1988-02-21  |  685b  |  25 lines

  1. %
  2. %   This little program prints out prime numbers.  From the
  3. %   TeXbook.
  4. %
  5. \newif\ifprime\newif\ifunknown
  6. \newcount\p \newcount\d \newcount\a
  7. \def\primes{\out{2}\out{3}\p=5
  8.    \loop\iftrue\printifprime\advance\p by2\repeat}
  9. \def\printifprime{\testprimality
  10.    \ifprime\out{\number\p}\fi}
  11. \def\testprimality{{\d=3\global\primetrue
  12.    \loop\trialdivision
  13.    \ifunknown\advance\d by2\repeat}}
  14. \def\trialdivision{\a=\p
  15.    \divide\a by\d
  16.    \ifnum\a>\d\unknowntrue\else\unknownfalse\fi
  17.    \multiply\a by\d
  18.    \ifnum\a=\p \global\primefalse\unknownfalse\fi}
  19. \def\out#1{\message{[#1]}}
  20. %
  21. %   Now we invoke the program.  Note, this is an infinite loop, so
  22. %   use *BREAK* to exit.
  23. %
  24. \primes
  25.